Coordinated linear beamforming in downlink multi-cell wireless networks

ABSTRACT

System and methods are disclosed for optimizing wireless communication for a plurality of mobile wireless devices. The system uses beamforming vectors or precoders having a structure optimal with respect to the weighted sum rate in a multi-cell orthogonal frequency division multiple access (OFDMA) downlink. A plurality of base stations communicate with the mobile devices and all base stations perform a distributed non-convex optimization exploiting the determined structure.

The present application claims priority to U.S. Provisional Application Ser. No. 61/058,295, filed Jun. 3, 2008, the content of which is incorporated by reference.

BACKGROUND

This application relates to linear beamforming for wireless devices in cellular networks.

Theoretical studies on the wireless broadcast channel have shown that significant throughput gains are possible when multiple antenna elements are installed at the transmitter and advanced spatial signal processing is employed to serve multiple co-channel terminals as opposed to the conventional time- and frequency-division multiple access. In particular, for an isolated network with M transmit antennas, n homogeneous users equipped with N receive antennas and block Rayleigh fading, the capacity of the multi-antenna Gaussian broadcast channel scales as M log₂ log₂(nN) for increasingly large n, achieving both a multiplexing gain (M) and a multiuser diversity gain log₂ log₂(nN).

A known capacity achieving strategy for the multi-antenna Gaussian broadcast channel involves a highly complex non-linear interference pre-cancellation technique, known as dirty paper coding (DPC), which is usually infeasible in practice. Several suboptimal strategies have been investigated to overcome this limitation. Among them, linear transmit beamforming has attracted great interests since it can achieve a large fraction of the capacity at much lower cost and implementation complexity. In linear beamforming, each data stream is modulated by a spatial signature vector before transmission through multiple antennas. Careful selection of the signature vectors can mitigate (or even eliminate) mutual interference among different streams. Surprisingly, random unitary beamforming is sufficient to achieve the same sum-rate scaling growth M log₂ log₂(nN) of DPC for increasingly large number of users. However, when the number of users is smaller, random beamforming may perform poorly and more effective beamforming strategies have been proposed to achieve improved performance. They include for example linear minimum mean square error (MMSE) and zero-forcing (ZF) beamforming. Other works, instead, make use of the uplink-downlink duality and design the transmit linear filters so as to minimize the total transmit power under given constraints on the users' rates. Others have designed transmit linear filters in order to maximize the sum-rate.

Many existing works have addressed the beamforming design problem by assuming that each base station communicates with its respective terminals independently: in such framework, inter-cell interference is simply regarded as additional background noise and the design of the beamforming vectors is performed on a per-cell basis only. However, future wireless cellular networks will be interference-limited; hence, significant performance gains are possible if inter-cell interference is mitigated via coordinated processing across multiple cells. Ideally, if both data and channel state information of all users could be shared in real-time, all base stations could act as a unique large array with distributed antenna elements and could employ joint beamforming, scheduling and data encoding to simultaneously serve multiple co-channel users. In practice, a much lower level of coordination appears to be feasible depending on the bandwidth of the backbone network connecting the base stations. For example, it may be reasonable to assume that each user is served by only one base station: in this case, the set of downlink beam-vectors can be optimized based on the inter-cell channel qualities. Also, complexity of the network infrastructure and synchronization requirements may limit the number of coordinating base stations: in this case, coordination can be performed on a per-cluster basis.

SUMMARY

System and methods are disclosed for optimizing wireless communication for a plurality of mobile wireless devices. The system uses linear beamforming vectors having a structure optimal with respect to the weighted sum rate in a multi-cell orthogonal frequency division multiple access (OFDMA) downlink, comprising a plurality of mobile devices; and a plurality of base stations communicating with the mobile devices, all base stations performing a distributed a non-convex optimization exploiting the determined structure.

In one aspect, the system optimizes wireless communication for a plurality of mobile wireless devices by determining a structure for downlink beamforming vectors optimizing the weighted sum-rate across multiple orthogonal resource slots in the time, frequency or code domain; and distributing a non-convex optimization exploiting the determined structure over a plurality of base stations.

Implementations of the above aspect may include one or more of the following. The non-convex optimization is responsive to a set of channel estimates; user priorities; or maximum transmit power available at each base-station. The non-convex optimization utilizes Karush-Kuhn-Tucker (KKT) equations. The distribution over the base stations entails a small number of channel estimates at each base station and limited message passing among adjacent base stations. The system can obtain channel estimates. The system can also obtain predicted channel estimates responsive to an average scheduling delay parameter. A multiple-input single-output (MISO) system can be served wherein each user is equipped with a single receive antenna and receives a single data stream from its serving base station via space-division multiple-access (SDMA). The system can determine the optimal structure of the beamforming vectors optimizing the weighted sum-rate in a MISO system. A leakage matrix can be obtained, and in one implementation a leakage matrix L_(m,k)(n) can be determined as:

${L_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\sum\limits_{\substack{u \in {B_{j}{(n)}} \\ {({j,u})} \neq {({m,k})}}}^{\;}{{P_{j,u}(n)}{G_{m,u}(n)}}}} \in C^{P}}$ where ${P_{j,u}(n)} = \frac{{\alpha_{u}(n)}S\; I\; N\; {R_{j,u}(n)}}{1 + {\sum\limits_{l = 1}^{M}{\sum\limits_{s \in {B_{l}{(n)}}}{{w_{l,s}^{H}(n)}{G_{l,u}(n)}{w_{l,s}(n)}}}}}$

-   -   B_(m)(n) is the set of users served by base station m on slot n;     -   N is the total number of orthogonal resource slots;     -   M is the number of coordinated base stations;     -   P is the number of transmit antennas at each base station;     -   w_(m,k)(n)εC^(P) denotes the P-dimensional beam vector used by         the base station m to serve user kεB_(m)(n) on slot n;     -   W={w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N}         indicates the collection of all beam vectors;     -   α_(k)(n)>0 is the priority assigned by the scheduler to user k         on slot n;     -   P_(m,max) is the maximum transmit power of base station m;     -   SINR_(m,k)(n) is the signal-to-interference-plus-noise ratio for         user k served by base station m on slot n and is given by

${S\; I\; N\; {R_{m,k}(n)}} = \frac{{w_{m,k}^{H}(n)}{G_{m,k}(n)}{w_{m,k}(n)}}{1 + {\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{w_{j,u}^{H}(n)}{G_{j,k}(n)}{w_{j,u}(n)}}}}}$

-   -   with G_(m,k)(n)=h_(m,k)(n)h_(m,k) ^(H)(n)εC^(P×P).     -   h_(m,k)(n)εC^(P) is the P-dimensional channel vector between         base station j and user k and slot n (which includes small-scale         fading, large scale fading and path attenuation) normalized by         the standard deviation of the received noise.         The system can also determine

${{i_{m,k}(n)} = {\sum\limits_{l = 1}^{M}{\sum\limits_{\underset{{({l,s})} \neq {({m,k})}}{s \in {B_{l}{(n)}}}}{{w_{l,s}^{H}(n)}{G_{l,k}(n)}{w_{l,s}(n)}}}}},{k \in {B_{m}(n)}},{m = 1},\ldots \mspace{14mu},M,{n = 1},{\ldots \mspace{14mu} {N.}}$

The determination of λ₁, . . . , λ_(m) and {{circumflex over (β)}_(m,k)(n;λ_(m)), kεB_(m)(n), n=1, . . . N} is:

${{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}}^{2} = \frac{\left( {{{\alpha_{k}(n)}{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}} - {{\hat{i}}_{m,k}(n)} - 1} \right)^{+}}{{{{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}$ and ${\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\underset{\underset{f_{m}{({n;\lambda_{m}})}}{}}{{{{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}}} = P_{m,\max}$

where {circumflex over (T)}_(m,k)=(n;λ_(m))={circumflex over (L)}_(m,k)(n;λ_(m))+(λ_(m) ln 2)I_(P), (•)^(†) indicates the pseudo-inverse and x⁺=max{x,0} and where {î_(m,k)(n),{circumflex over (L)}_(m,k)(n)} denotes most recent values of {i_(m,k)(n),L_(m,k)(n)}. The system can update beam vectors as

w _(m,k)(n)={circumflex over (β)}_(m,k)(n;λ _(m)){circumflex over (T)} _(m,k) ^(†)(n;λ _(m))h _(m,k)(n).

The system can select an initial feasible set of beam vectors. The initial feasible set can be selected after splitting power across the available slots. The system can perform channel-matched beamforming to select the initial feasible set of beam vectors. The system can also do in-cell zero-forcing beamforming to select the initial feasible set of beam vectors. Maximum signal-to-leakage-plus-noise ratio (MSLNR) beamforming can be used to select the initial feasible set of beam vectors. An equivalent MISO system can be provided wherein each mobile user has multiple-receive antennas and performs rank-one receive beamforming before detection. A multiple-input multiple-output (MIMO) system can be provided wherein each user is equipped with multiple receive antennas and receives multiple data streams from a serving base station via linear precoding. The optimal structure of the linear precoders in a MIMO system can be determined. A leakage matrix can be computed such as a leakage matrix L_(m,k)(n) where:

${{L_{m,k}( n)} = {\sum\limits_{j = 1}^{M}{\sum\limits_{\substack{u \in {B_{j}{(n)}} \\ {({j,u})} \neq {({m,k})}}}^{\;}{\frac{\alpha_{u}(n)}{\ln (2)} {H_{m,u}^{H}( n)} \begin{pmatrix} {{R_{j,u}(n)}^{- 1} -} \\ \begin{pmatrix} {{R_{j,u}(n)} + {H_{j,u}(n)}} \\ {{Q_{j,u}(n)}{H_{j,u}^{H}(n)}} \end{pmatrix}^{- 1} \end{pmatrix} {H_{m,u}( n)}}}}},\mspace{79mu} {where}$ $\mspace{79mu} {{R_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\sum\limits_{\substack{u \in {B_{j}{(n)}} \\ {({j,u})} \neq {({m,k})}}}{{H_{j,k}(n)}{Q_{j,u}(n)}{H_{j,k}^{H}(n)}}}} + {I_{N_{k}}.}}}$

-   -   B_(m)(n) is the set of users served by base station m on slot n;     -   N is the total number of orthogonal resource slots;     -   M is the number of coordinated base stations;     -   P is the number of transmit antennas at each base station;     -   N_(k) is the number of receive antennas of user k;     -   Q_(j,u)(n)=W_(j,u)(n)W_(j,u) ^(H)(n)εC^(P×P) is a covariance         matrix to be optimized;     -   W_(m,k)(n)εC^(P×D) ^(m,k) ^((n)), and 1≦D_(m,k)(n)≦P indicates         the number of data stream delivered to user kεB_(m)(n) on slot n         by base station m.;     -   Q={Q_(m,k)(n)ε Q, kεB_(m)(n), m=1, . . . , M, n=1, . . . N}         indicates the collection of the positive-semidefinite covariance         matrices;     -   α_(k)(n)>0 is the priority assigned by the scheduler to user k         on slot n;     -   P_(m,max) is the maximum transmit power of base station m; and     -   H_(j,k)(n)εC^(N) ^(k) ^(×P) is the channel matrix between base         station j and user k and slot n (which includes small-scale         fading, large scale fading and path attenuation) normalized by         the standard deviation of the received noise.         The system can solve a following convex optimization problem at         each base-station m, for a given {L_(m,k)(n)} and {R_(m,k)(n)}:

${\underset{\{{Q_{m,k}{(n)}}\}}{argmax}{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\begin{bmatrix} {{{\alpha_{k}(n)}\log_{2}{{I_{N_{k}} + {{H_{m,k}(n)}{Q_{m,k}(n)}{H_{m,k}^{H}(n)}{R_{m,k}(n)}^{- 1}}}}} -} \\ {{tr}\left( {{L_{m,k}(n)}{Q_{m,k}(n)}} \right)} \end{bmatrix}}}},{{s.t.\mspace{14mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(m)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \leq P_{m,\max}},{{Q_{m,k}(n)} \in \overset{\_}{Q}},{\forall{k \in {B_{m}(n)}}},{\forall n}$

The system can select an initial feasible set of positive semi-definite covariance matrices after splitting power across available slots. Maximum Signal-to-Leakage-plus-Noise Ratio (MSLNR) precoding can be used to select the initial feasible set of positive semi-definite covariance matrices.

Advantages of the above systems and methods may include one or more of the following. By explicitly accounting for the inter-cell interference in the design of the beam vectors, the invention leads to substantial improvements in the system spectral efficiency (throughput).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a downlink multiuser system with P transmit-antennas at the base station communicating with multiple mobile stations or devices.

FIG. 2 shows an exemplary multi-cell setup.

FIG. 3 shows an exemplary beamforming design process which utilizes a derived beamforming structure and solves Karush-Kuhn-Tucker (KKT) equations for the non-convex optimization problem.

DESCRIPTION OF FIGURES

FIG. 1 shows a downlink multiuser system, with P transmit-antennas at the base station BS and 1 receive antenna at each user. A transmitter 110 transmits from P transmitting antennas 111.1-111.P over a fading channel to multiple users. Each user's receive antenna is coupled to a receiver. At each user a channel estimator provides an estimate of the channel corresponding to the propagation between the transmit antennas and the receive antenna, to the respective receiver. The channel estimate is also quantized and provided to the transmitter 110 via a feedback channel.

FIG. 2 shows an exemplary multi-cell setup that handles co-channel interference mitigation in the downlink of a cellular system. In FIG. 2, all base stations are equipped with multiple transmit antennas and the mobiles are equipped with a single or multiple receive antenna each. Every base station employs linear beamforming or linear precoding to serve each one of its scheduled users or mobile devices on any resource slot and each scheduled user is served by only one base station. The association of each user to a particular base station (its serving base station) is pre-determined. The base station of each cell serves its users through linear beamforming or linear precoding. Each user receives useful (desired) signal from its serving base station (depicted using the solid line). Each user also receives interference (depicted as the dashed lines) from its serving base station as well as adjacent base stations. The interference includes all signals transmitted in the same resource slot (i.e., time/frequency/code slot) as the desired signal but which are intended for the other users. The system designs a set of beam vectors for a given set of channel estimates, which maximizes the weighted system sum-rate over a cluster of coordinated cells subject to per-base-station power constraints.

Embodiment I MISO System

First, a multiple-input single-output (MISO) embodiment is discussed. The MISO system includes a downlink cellular network with universal frequency reuse where a cluster of M coordinated base stations simultaneously transmit on N orthogonal (in the time or frequency or code domain) resource slots during each scheduling interval. Each base station is equipped with P antennas and space-division multiple-access (SDMA) is employed to serve multiple mobiles (each having one receive antenna) on a resource slot. Each user is served by only one base station and coordinated base stations only exchange channel quality measurements and this scenario is referred to as a partially-connected cluster (PCC). Let B_(m)(n) be the set of terminals scheduled by base station m on slot n, for m=1, . . . , M and n=1, . . . , N. For simplicity and without loss of generality, |B_(m)(n)|=Q ∀ m, n and B_(m) ₁ (n₁)∩B_(m) ₂ (n₂)=Ø for m₁≠m₂.

With linear preceding, the signal transmitted by base station m on slot n is expressed as

${{x_{m}(n)} = {{\sum\limits_{k \in {B_{m}{(n)}}}{{w_{m,k}(n)}{b_{m,k}(n)}}} \in C^{P}}},$

where b_(m,k)(n) is the complex symbol transmitted by base station m on slot n to user kεB_(m)(n) using the beamforming vector w_(m,k)(n)εC^(P). One system uses the assumption that E[|b_(m,k)(n)|²]=1, E[b_(m) ₁ _(,k) ₁ (n₁)b_(m) ₂ _(,k) ₂ (n₂)^(H)]=0 for (n₁, m₁, k₁)≠(n₂, m₂, k₂), and

${{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{w_{m,k}}^{2}}} \leq P_{m,\max}},$

where P_(m,max) is the maximum transmit power of base station m;

Let {tilde over (h)}_(j,k)(n)εC^(P) be the channel matrix between base station j and user k on slot n, which includes small-scale fading, large-scale fading and path attenuation. The signal received by user kεB_(m) (n) on slot n is given by

${{{\overset{\sim}{y}}_{k}(n)} = {{\sum\limits_{j = 1}^{M}{{{\overset{\sim}{h}}_{j,k}^{H}(n)}{x_{j}(n)}}} + {{\overset{\sim}{z}}_{k}(n)}}},$

where {tilde over (z)}_(k)(n) is the additive circularly-symmetric Gaussian noise with variance σ_(k) ²(n): here, different noise levels account for different co-channel interference and different noise figures of the receivers. To simplify notation, the received signal is normalized by the noise standard deviation. Let y_(k)(n)={tilde over (y)}_(k)(n)/σ_(k)(n), z_(k)(n)={tilde over (z)}_(k)(n)/σ_(k)(n) and h_(k)(n)={tilde over (h)}_(k)(n)/σ_(k)(n), the following is obtained:

${y_{k}(n)} = {\underset{\underset{{useful}\mspace{14mu} {signal}}{}}{{h_{m,k}^{H}(n)}{w_{m,k}(n)}{b_{m,k}(n)}} + \underset{\underset{{co}\text{-}{channel}\mspace{14mu} {interference}}{}}{\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{u \in {B_{j}{(n)}}}^{\;}}{{h_{j,k}^{H}(n)}{w_{j,u}(n)}{b_{j,u}(n)}}}} + {\underset{\underset{noise}{}}{z_{k}(n)}.}}$

The objective function to be maximized is the (instantaneous) weighted system sum-rate subject to per-base-station power constraints. Assuming Gaussian inputs and single-user detection at each mobile, the problem to be solved is as follows:

$\begin{matrix} {{\arg \; {\max\limits_{W}{\sum\limits_{n = 1}^{N}{\sum\limits_{m = 1}^{M}{\sum\limits_{k \in {B_{m}{(n)}}}{{\alpha_{k}(n)}{\log_{2}\left( {1 + {S\; I\; N\; {R_{m,k}(n)}}} \right)}}}}}}}{{s.t.\mspace{14mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{w_{m,k}(n)}}^{2}}}} \leq P_{m,\max}}{{m = 1},\ldots \mspace{14mu},M}} & \left\lbrack {{problem}\mspace{14mu} 1} \right\rbrack \end{matrix}$

where

-   -   W={w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N}         indicates the collection of all beam vectors.     -   α_(k)(n)>0 is the priority assigned by the scheduler to user k         on slot n; if α_(k)(n)=1/(NM), the objective function becomes         the network sum-rate (measured in bits/channel-use/slot/cell);         more generally, the scheduler may adjust the coefficients         {α_(k)(n)} over time to maintain proportional fairness among         terminals.     -   SINR_(m,k)(n) is the signal-to-interference-plus-noise ratio for         user k served by base station m on slot n and is given by

${{S\; I\; N\; {R_{m,k}(n)}} = \frac{{w_{m,k}^{H}(n)}{G_{m,k}(n)}{w_{m,k}(n)}}{1 + {\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{\mspace{14mu} {u \in {B_{j}{(n)}}}}}{{w_{j,u}^{H}(n)}{G_{j,k}(n)}{w_{j,u}(n)}}}}}},$

-   -   with G_(m,k)(n)=h_(m,k)(n)h_(m,k) ^(H)(n)εC^(P×P).

The system first applies Lagrangian theory to derive the structure of the optimal beam-vectors; then, a process iteratively solves the set Karush-Kuhn-Tucker (KKT) conditions corresponding to the non-convex primal problem. A distributed implementation of the proposed algorithm is illustrated. Also, several approaches to choose the initial beam-vectors can be followed. Finally, an extension of the proposed algorithm to an equivalent MISO system is discussed.

FIG. 3 shows an exemplary process which utilizes the derived beamforming structure and solves the Karush-Kuhn-Tucker (KKT) equations for the non-convex optimization problem.

In 200, the system is initialized by obtaining the estimates of all channels, the maximum transmit power of each base station and the priorities of the users. The system selects some initial values for the beam vectors {w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . . N}. Moreover, the values of the maximum number of iterations for the inner and outer loops L_(in,max) and L_(out,max), respectively, are selected. Further, the system sets the counter l_(out)=0.

Next, in 201, the system sets l_(in) to zero and computes the leakage matrices {L_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N}, where

${{L_{m,k}(n)} = {\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{u \in {B_{j}{(n)}}}}{{P_{j,u}(n)}{G_{m,u}(n)}}}}},{and}$ ${P_{j,u}(n)} = {\frac{{\alpha_{u}(n)}S\; I\; N\; {R_{j,u}(n)}}{1 + {\sum\limits_{l = 1}^{M}{\sum\limits_{s \in {B_{l}{(n)}}}{{w_{l,s}^{H}(n)}{G_{l,u}(n)}{w_{l,s}(n)}}}}}.}$

In 202, the system determines the scalars

${{i_{m,k}(n)} = {\sum\limits_{l = 1}^{M}{\underset{{({l,s})} \neq {({m,k})}}{\sum\limits_{s \in {B_{l}{(n)}}}^{\;}}{{w_{l,s}^{H}(n)}{G_{l,k}(n)}{w_{l,s}(n)}}}}},{k \in {B_{m}(n)}},{m = 1},\ldots \mspace{14mu},M,{n = 1},{\ldots \mspace{14mu} {N.}}$

In 203, for each base station m, the system determines λ_(m) and

{β̂_(m, k)(n; λ_(m)), k ∈ B_(m)(n), n = 1, …  N}   using ${{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}}^{2} = \frac{\left( {{{\alpha_{k}(n)}{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}} - {{\hat{i}}_{m,k}(n)} - 1} \right)^{+}}{{{{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}$ and ${{\sum\limits_{n = 1}^{N}{\sum\limits_{{kB}_{m} \in {(n)}}\underset{\underset{f_{m}{({n;\lambda_{m}})}}{}}{{{{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}}} = P_{m,\max}},$

where x⁺=max{x,0}, {circumflex over (T)}_(m,k)(n;λ_(m))={circumflex over (L)}_(m,k)(n;λ_(m))+(λ_(m) ln 2)I_(p) and (•)^(†) indicates the pseudo-inverse. Notice that {î_(m,k)(n),{circumflex over (L)}_(m,k)(n)} denote the recent-most values of {i_(m,k)(n),L_(m,k)(n)} (i.e., the values most-recently updated). Finally, the system updates the beam vectors {w_(m,k)(n)} using

w _(m,k)(n)={circumflex over (β)}_(m,k)(n;λ _(m)){circumflex over (T)} _(m,k) ^(†)(n;λ _(m))h _(m,k)(n).

In 204, l_(in) is incremented. In 205 the system checks if the choice of beams has converged or if l_(in)=L_(in,max). If either of these two conditions is true the process proceeds to 206 else the process loops back to 202. In 206, the process increments l_(out).

In 207, the system checks if the choice of beams has converged or if l_(out)=L_(out,max). If either of these two conditions is true the system jumps to 208 else loops back to 201. In 208, the latest choice of beams is provided as an output and the process ends.

The details of the iterative process of FIG. 3 to solve the KKT conditions are discussed next. It can be shown that the set of KKT conditions for the [problem 1] are given by

$\begin{matrix} {\quad\left\{ \begin{matrix} {{{\begin{pmatrix} {{L_{m,k}(n)} +} \\ {\lambda_{m}\ln \; 2I_{P}} \end{pmatrix}{w_{m,k}(n)}} = \frac{{\alpha_{k}(n)}{G_{m,k}(n)}{w_{m,k}(n)}}{1 + {{w_{m,k}^{H}(n)}{G_{m,k}(n)}{w_{m,k}(n)}} + {i_{m,k}(n)}}}\mspace{79mu} {{k \in {B_{m}(n)}},{m = 1},\ldots \mspace{14mu},M,{n = 1},{\ldots \mspace{14mu} {N.}}}} \\ {{{{\lambda_{m}\left\lbrack {P_{m,\max} - {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{w_{m,k}(n)}}^{2}}}} \right\rbrack} = 0},\mspace{14mu} {m = 1},\ldots \mspace{14mu},M}\;} \\ {{{{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{w_{m,k}(n)}}^{2}}} \leq P_{m,\max}},\mspace{14mu} {m = 1},\ldots \mspace{14mu},M}\;} \end{matrix} \right.} & \left\lbrack {{KKT}\mspace{14mu} 1} \right\rbrack \end{matrix}$

Notice that, if w_(m,k)(n)≠0 and λ_(m)≠0, then h_(m,k) ^(H)(n)w_(m,k)(n)≠0 and h_(m,k)(n)∝(L_(m,k)(n)+λ_(m) ln 2I_(P))w_(m,k)(n). Therefore, a non-zero beam-vector which satisfies the above KKT conditions must be of the form w_(m,k)(n)∝(L_(m,k)(n)+λ_(m) ln 2I_(P))⁻¹h_(m,k)(n). On the other hand, if w_(m,k)(n) ≠0, λ_(m)=0 is feasible only if one of the following two conditions holds:

C1: h_(m,k) ^(H)(n)w_(m,k)(n)=0 and L_(m,k)(n)w_(m,k)(n)=0;

C2: h_(m,k)(n)εrange{L_(m,k)(n)}.

If C1 is satisfied, then user kεB_(m)(n) receives no information from the serving base station. On the other hand, if C2 holds and λ_(m)=0, a non-zero beam-vector which satisfies the KKT conditions must be of the form w_(m,k)(n)∝L_(m,k) ^(†)(n)h_(m,k)(n). Let T_(m,k)(n;λ_(m))=L_(m,k)(n)+(λ_(m) ln 2)I_(P), then the optimal non-zero beam-vectors are of the form w_(m,k)(n)=β_(m,k)(n;λ_(m))T_(m,k) ^(†)(n;λ_(m))h_(m,k)(n), kεB_(m)(n), m=M, n=1, . . . N, where λ_(m)≧0 and β_(m,k)(n;λ_(m))>0 are constants to be determined. Also, λ_(m)=0 is feasible only if h_(m,k)(n)εrange{L_(m,k)(n)} for k (B_(m)(n) and n=1, . . . N.

If w_(m,k)(n)≠0, the following is obtained:

α_(k)(n)h _(m,k) ^(H)(n)T _(m,k) ^(†)(n;λ _(m))h _(m,k)(n)=1+i _(m,k)(n)+|β_(m,k)(n;λ _(m))|² |h _(m,k) ^(H)(n)T _(m,k) ^(†)(n;λ _(m))h _(m,k)(n)|² , kεB _(m)(n), m=1, . . . , M, n=1, . . . , N,

and

${{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{{\beta_{m,k}\left( {n;\lambda_{m}} \right)}{T_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}} \leq P_{m,\max}},{m = 1},\ldots \mspace{14mu},{M.}$

The procedure to solve the KKT system is as follows. If some previous feasible vectors {Ŵ_(m,k)(n)} are given, then {î_(m,k)(n)} and {{circumflex over (L)}_(m,k)(n)} can be computed. The new values of {{circumflex over (β)}_(m,k) (n;λ_(m))} can now be computed as

${{{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}}^{2} = \frac{\left( {{{\alpha_{k}(n)}{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}} - {{\hat{i}}_{m,k}(n)} - 1} \right)^{+}}{{{{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}},$

for kεB_(m)(n), m=1, . . . , M and n=1, . . . , N. The new value of λ_(m) can be computed as the solution to

${\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\underset{\underset{f_{m}{({n;\lambda_{m}})}}{}}{{{{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}}} = {P_{m,\max}.}$

In order to solve the above equation, notice that ƒ_(m)(n;λ_(m)) is a monotonic decreasing function of λ_(m)>0, for m=1, . . . , M. Moreover, the optimal set of dual variables λ₁, . . . , λ_(M) must satisfy the following inequalities:

${0 \leq {\lambda_{m}\ln \; 2} \leq {\max\limits_{n \in {\{{1,\ldots \mspace{14mu},N}\}}}{\max\limits_{k \in {B_{m}{(n)}}}{{\alpha_{k}(n)}{{h_{m,k}(n)}}^{2}}}}},{m = 1},\ldots \mspace{14mu},{M.}$

Hence, the search for λ_(m) can be efficiently solved via one-dimensional bisection. If no positive solution exists, then λ_(m) is set to zero: in this case, base station m does not use all available power for transmission. After computing the new values of {λ_(m)} and {β_(m,k)(n;λ_(m))}, the beam-vectors are updated and the process is iterated until convergence. This process is called the Iterative Coordinated Beam-Forming (ICBF) process. One exemplary pseudo code for the ICBF is as follows:

 1: Initialize L_(in,max), L_(out,max), {w_(m,k)(n),k ∈ B_(m)(n), m = 1,...,M,n =    1,...,N}  2: l_(out) = 0  3: repeat  4: Compute {L_(m,k)(n),k ∈ B_(m)(n),m = 1,...,M,n = 1,...,N}  5: l_(in) = 0  6: repeat  7:  Compute {i_(m,k)(n),k ∈ B_(m)(n),m = 1,...,M,n = 1,...,N}  8:  for m = 1 to M do  9:   Compute λ_(m) and {{circumflex over (β)}_(m,k)(n;λ_(m)),k ∈ B_(m)(n),n = 1,...,N} 10:    Update {w_(m,k)(n),k ∈ B_(m)(n),n = 1,...,N} 11:   end for 12:   l_(in) = l_(in) + 1 13:  until convergence or l_(in) = L_(in,max) 14:  l_(out) = l_(out) + 1 15: until convergence or l_(out) = L_(out,max)

Next, a distributed implementation of the ICBF process is discussed which requires limited channel state information at each base station and some inter base station message passing. The co-channel interference received at terminal kεB_(m)(n) on slot n can be expanded as

${{i_{m,k}(n)} = {\underset{\underset{i_{m,k}^{i\; n}{(n)}}{}}{\sum\limits_{u \in \underset{u \neq k}{B_{m}{(n)}}}{{w_{m,u}^{H}(n)}{G_{m,k}(n)}{w_{m,u}(n)}}} + \underset{\underset{i_{m,k}^{out}{(n)}}{}}{\underset{j \neq m}{\sum\limits_{j = 1}^{M}}\underset{\underset{i_{m,k}^{{out},j}{(n)}}{}}{\sum\limits_{u \in {B_{j}{(n)}}}{{w_{j,u}^{H}(n)}{G_{j,k}(n)}{w_{j,u}(n)}}}}}},$

where the terms i_(m,k) ^(in)(n) and i_(m,k) ^(out)(n) account for in-cell and out-cell interference, respectively. Similarly, the leakage matrix of terminal kεB_(m)(n) on slot n becomes

${{L_{m,k}(n)} = {\underset{\underset{L_{m,k}^{i\; n}{(n)}}{}}{\sum\limits_{u \in \underset{u \neq k}{B_{m}{(n)}}}^{\;}{{P_{m,u}(n)}{G_{m,u}(n)}}} + \underset{\underset{L_{m}^{out}{(n)}}{}}{\underset{j \neq m}{\sum\limits_{j = 1}^{M}}\underset{\underset{L_{m}^{{out},j}{(n)}}{}}{\sum\limits_{u \in {B_{j}{(n)}}}{{P_{j,u}(n)}{G_{m,u}(n)}}}}}},$

where the terms L_(m,k) ^(in)(n) and L_(m) ^(out)(n) account for in-cell and out-cell leakages, respectively, and

${P_{m,u}(n)} = {\frac{{\alpha_{u}(n)}{w_{m,u}^{H}(n)}{G_{m,u}(n)}{w_{m,u}(n)}}{\left( {1 + {i_{m,u}(n)}} \right)\left( {1 + {i_{m,u}(n)} + {{w_{m,u}^{H}(n)}{G_{m,u}(n)}{w_{m,u}(n)}}} \right)}.}$

Base station m can compute {i_(m,k) ^(in)(n), kεB_(m)(n), n=1, . . . , N} based only on the knowledge of the local forward channels {h_(m,k)(n), kεB_(m)(n), n=1, . . . , N} and of the local beam-vectors W_(m)={w_(m,k)(n), kεB_(m) (n), n=1, . . . , N} computed at the previous iteration. Furthermore, assume that base station m has received at the end of the previous iteration the quantities {i_(m,k) ^(out,j)(n), kεB_(m)(n), n=1, . . . , N} and {L_(m) ^(out,j)(n), n=1, . . . , N} from every other coordinated base station j≠m. Then, the base station m can locally update its beam-vectors W_(m) as discussed above.

Once the new beam vectors are computed, each base station m can first update the quantities

${{i_{l,s}^{{out},m}(n)} = {\sum\limits_{u \in {B_{m}{(n)}}}{{w_{m,u}^{H}(n)}{G_{m,s}(n)}{w_{m,u}(n)}}}},{l \neq m},{s \in {B_{l}(n)}},$

and pass them to the other coordinated base stations. Upon receiving {i_(m,k) ^(out,j)(n)} from all j≠m and updating P_(m,u)(n), base station m can determine

${{L_{l}^{{out},m}(n)} = {\sum\limits_{u \in {B_{m}{(n)}}}{P_{m,u}{G(n)}_{l,u}(n)}}},{l \neq m},$

which are then passed to the other coordinated base stations for the next iteration. The base station m needs the knowledge of the forward channels to the other coordinated cells and of the forward channels from the other coordinated cells.

Notice that a set of {i_(m,k)(n),L_(m,k)(n)} and beam-vectors W_(m) that satisfy [KKT 1], must also satisfy the KKT conditions of the following M optimization problems (one for each base station) where {i_(m,k)(n),L_(m,k)(n)} are held fixed

${\max\limits_{W_{m}}{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in_{m}{(n)}}{{\alpha_{k}(n)}{\log_{2}\left( {1 + \frac{\begin{matrix} {{w_{m,k}^{H}(n)}{G_{m,k}(n)}} \\ {w_{m,k}(n)} \end{matrix}}{1 + {i_{m,k}(n)}}} \right)}}}}} - \frac{{w_{m,k}^{H}(n)}{L_{m,k}(n)}{w_{m,k}(n)}}{\ln \; 2}$ $\mspace{79mu} {{s.t.\; {\sum\limits_{n = 1}^{N}\; {\sum\limits_{k \in {B_{m}{(n)}}}^{\;}{{w_{m,k}(n)}}^{2}}}} \leq P_{m,\max}}$

For m=1, . . . , M, the above problem is equivalent to a second-order cone program (SOCP) convex optimization problem. Consequently, at each base station m an optimal set of beam vectors W_(m) can also be determined by using a SOCP solver.

Next, the initialization of the ICBF process is discussed. Implementing the ICBF process requires choosing an initial feasible set of beam-vectors. Three initial solutions can be used where the available power is equally splits across beams.

The first is called Channel-Matched (CM) Beamforming. Neglecting in-cell and inter-cell interference, the system selects the initial beam vectors matched to the users' channel:

${{w_{m,k}(n)} = {\sqrt{\frac{P_{m,\max}}{NQ}}\frac{h_{m,k}(n)}{{h_{m,k}(n)}}}},$

for kεB_(m)(n), m=1, . . . , M and n=1, . . . , N.

The second is called In-Cell Zero-Forcing (ICZF) Beamforming. If P≧Q, the initial set of beams can be designed so as to eliminate the in-cell interference, i.e.,

${{w_{m,k}(n)} \propto {\left( {\sum\limits_{u \in {B_{m}{(n)}}}^{\;}{{h_{m,u}(n)}{h_{m,u}^{H}(n)}}} \right)^{\dagger}{h_{m,k}(n)}}},$

for kεB_(m)(n), m=1, . . . , M and n=1, . . . , N. The proportionality constant is chosen to meet the power constraint. If P<Q, in-cell interference cannot be forced to zero anymore. However, the above equation is still a wise beamformer choice since it maximizes the ratio between the useful signal and the in-cell leakage for any user kε=B_(m)(n).

The third alternative is the Maximum Signal-to-Leakage-plus-Noise Ratio (MSLNR) Beamforming. For any user kεB_(m)(n) the SLNR on slot n can be defined as

${S\; L\; N\; {R_{m,k}(n)}} = {\frac{\overset{\overset{{useful}\mspace{14mu} {signal}\mspace{14mu} {for}\mspace{14mu} {user}\mspace{14mu} k\mspace{14mu} {on}\mspace{14mu} {slot}\mspace{14mu} n}{}}{{w_{m,k}^{H}(n)}{G_{m,k}(n)}{w_{m,k}(n)}}}{{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}\underset{\underset{{leakage}\mspace{14mu} {to}\mspace{14mu} {user}\mspace{14mu} u\mspace{14mu} {on}\mspace{14mu} {slot}\mspace{14mu} n}{}}{{w_{m,k}^{H}(n)}{G_{m,u}(n)}{w_{m,k}(n)}}}} + 1}.}$

w_(m,k)(n) is designed to maximize SLNR_(m,k)(n) subject to a norm constraint:

${{w_{m,k}(n)} = {\underset{x \in C^{P}}{argmax}\frac{x^{H}{G_{m,k}(n)}x}{x^{H}{D_{m,k}(n)}x}}},{{s.t.\mspace{14mu} {x}^{2}} = \frac{P_{m,\max}}{NQ}},{where}$ ${D_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{u \in {B_{j}{(n)}}}^{\;}}{G_{m,u}(n)}}} + {I_{p}{\frac{NQ}{P_{m,\max}}.}}}$

This is a standard problem whose solution is the generalized eigenvector corresponding to the maximum generalized eigenvalue of the matrix pair (G_(m,k))(n),D_(m,k)(n)).

The foregoing implementations of the ICBF process are referred to as ICBF-CM or ICBF-ICZF or ICBF-MSLNR.

If the coordinated base stations share both user data and channel state information, then they can act as a unique large array with distributed antenna elements and this case is the fully-connected cluster (FCC). An FCC encompassing {tilde over (M)} base stations, each one equipped with {tilde over (P)} transmit antennas and where power pooling across base stations is possible, is mathematically equivalent to a PCC with M=1 and P={tilde over (M)}{tilde over (P)}. For such an FCC the optimal weighted sum rate is obtained using dirty-paper coding (DPC) and can be determined. Applying the ICBF algorithm (to the equivalent PCC model) the system can obtain a locally optimal solution.

The ICBF process can be generalized to an FCC architecture with power polling and a weighted sum-power constraint across base stations. This may be attractive when the coordinated base stations pay unequal prices for transmit power: in this latter case, a larger weight can be given to a base station which has a stricter transmit power limitation.

The ICBF process can be also generalized to an equivalent MISO system wherein each mobile user has multiple-receive antennas and performs rank-one receive beamforming before detection. Details are given in the following.

Let N_(k) be the number of receive antennas of user k. Then, the signal received by user kεB_(m)(n) on slot n is given by

${{{\overset{\sim}{r}}_{k}(n)} = {{{\sum\limits_{j = 1}^{M}{{{\overset{\sim}{H}}_{j,k}(n)}{x_{j}(n)}}} + {{\overset{\sim}{q}}_{k}(n)}} \in C^{N_{k}}}},$

where {tilde over (H)}_(j,k)(n)εC^(N) ^(k) ^(×P) is the channel matrix between base station j and user k on slot n (which includes small-scale fading, large-scale fading and path attenuation), x_(j)(n)εC^(P) is the signal transmitted by base station m on slot n and {tilde over (q)}_(k)(n)εC^(N) ^(k) is the additive circularly-symmetric Gaussian noise with covariance matrix σ_(k) ²(n)I_(N) _(k) . Upon defining r_(k)(n)={tilde over (r)}_(k)(n)/σ_(k)(n), q_(k)(n)={tilde over (q)}_(k)(n)/σ_(k)(n) and H_(k)(n)={tilde over (H)}_(k)(n)/σ_(k)(n), the following is obtained

${r_{k}(n)} = {\underset{\underset{{useful}\mspace{14mu} {signal}}{}}{{H_{m,k}(n)}{w_{m,k}(n)}{b_{m,k}(n)}} + {\quad{{\underset{\underset{{co}\text{-}{channel}\mspace{14mu} {interference}}{}}{\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{u \in {B_{j}{(n)}}}^{\;}}{{H_{m,k}(n)}{w_{j,u}(n)}{b_{j,u}(n)}}}} + \underset{\underset{noise}{}}{q_{k}(n)}} \in {C^{N_{k}}.}}}}$

Assume now that a receive beamforming vector u_(k)(n)εC^(N) ^(k) , with unit-norm, is employed by user k on slot n. The corresponding output signal y_(k)(n)=u_(k) ^(H)(n)r_(k)(n) is written as

${{y_{k}(n)} = {\underset{\underset{{useful}\mspace{14mu} {signal}}{}}{{h_{m,k}^{H}(n)}{w_{m,k}(n)}{b_{m,k}(n)}} + \underset{\underset{{co}\text{-}{channel}\mspace{14mu} {interference}}{}}{\sum\limits_{j = 1}^{M}{\underset{{({j,u})} \neq {({m,k})}}{\sum\limits_{u \in {B_{j}{(n)}}}}{{h_{j,k}^{H}(n)}{w_{j,u}(n)}{b_{j,u}(n)}}}} + \underset{\underset{noise}{}}{z_{k}(n)}}},$

where h_(m,k) ^(H)(n)=u_(k) ^(H)(n)H_(m,k)(n)εC^(1×P), and z_(k)(n)=U_(k) ^(H)(n)q_(k)(n) C. This is an equivalent MISO signal model.

In the equivalent MISO system model, the transmit linear filters and the receive linear filters can be iteratively designed as follows:

For any given choice of the receive linear filters {u_(k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N}, the transmit linear filters {w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N} can be optimized according to the ICBF algorithm described in FIG. 3.

Also, for a given choice of the transmit linear filters {w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N}, the receive linear filters {u_(k)(n), kεB_(m)(n), m=, . . . , M, n=1, . . . N} can be chosen so as to maximize the weighted sum-rate. In particular, the optimal receive filters must minimize the mean square estimation error and are given by:

${{u_{k}(n)} \propto {\left( {{\sum\limits_{j = 1}^{M}{\sum\limits_{u \in {B_{j}{(n)}}}{{H_{m,k}(n)}{w_{j,u}(n)}{w_{j,u}^{H}(n)}{H_{m,k}^{H}(n)}}}} + I_{N_{k}}} \right)^{- 1}{H_{m,k}(n)}{w_{m,k}(n)}}},$

where u=k is not included in the summation and the proportionality constant is chosen to have ∥u_(k)(n)∥=1.

Embodiment II MIMO-System

Next, a MIMO embodiment is discussed. The MIMO system includes a downlink cellular network with universal frequency reuse where a cluster of M coordinated base stations simultaneously transmit on N orthogonal (in the time or frequency or code domain) resource slots during each scheduling interval. Each base station is equipped with P antennas and SDMA is employed to serve multiple mobiles (each having multiple receive antennas) on a resource slot. Let N_(k) be the number of receive antennas of user k. Each user is served by only one base station and coordinated base stations only exchange channel quality measurements and this scenario is referred to as a partially-connected cluster (PCC). Let B_(m)(n) be the set of terminals scheduled by base station m on slot n, for m=1, . . . , M and n=1, . . . , N. For simplicity and without loss of generality, the assumption is that |B_(m)(n)|=Q ∀ m, n and B_(m) ₁ (n₁)∩B_(m) ₂ (n₂)=Ø for m₁≠m₂.

With linear precoding, the signal transmitted by base station m on slot n is expressed as

${{x_{m}(n)} = {{\sum\limits_{k \in {B_{m}{(n)}}}{{W_{m,k}(n)}{b_{m,k}(n)}}} \in C^{P}}},$

where b_(m,k)(n)εC^(D) ^(m,k) ^((n)) is the complex symbol vector transmitted by base station m on slot n to user kεB_(m)(n) using the precoder matrix W_(m,k)(n)εC^(P×D) ^(m,k) ^((n)), and 1≦D_(m,k)(n)≦P indicates the number of data stream delivered to user kεB_(m)(n) on slot n by base station m. Also, the assumption is E[b_(m,k)(n)b_(m,k) ^(H)(n)]=I_(D) _(m,k) _((n)), E[b_(m) ₁ _(,k) ₁ (n₁)b_(m) ₂ _(,k) ₂ ^(H)(n₂)]=0_(D) _(m,k) _((n)) for (n₁, m₁, k₁)≠(n₂, m₂, k₂), and

${{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {{W_{m,k}(n)}{W_{m,k}^{H}(n)}} \right)}}} \leq P_{m,\max}},$

where tr(.) denotes the trace operation.

Let {tilde over (H)}_(j,k)(n)εC^(N) ^(k) ^(×P) be the channel matrix between base station j and user k on slot n, which includes small-scale fading, large-scale fading and path attenuation. The signal received by user kεB_(m)(n) on slot n is given by

${{{\overset{\sim}{y}}_{k}(n)} = {{\sum\limits_{j = 1}^{M}{{{\overset{\sim}{H}}_{j,k}(n)}{x_{j}(n)}}} + {{\overset{\sim}{z}}_{k}(n)}}},$

where {tilde over (z)}_(k)(n)εC^(N) ^(k) is the additive circularly-symmetric Gaussian noise with covariance matrix σ_(k) ²(n)I_(N) _(k) : here, different noise levels account for different co-channel interference and different noise figures of the receivers. To simplify notation, the received signal is normalized by the noise standard deviation. Upon defining y_(k)(n)={tilde over (y)}_(k)(n)/σ_(k)(n), z_(k)(n)={tilde over (z)}_(k)(n)/σ_(k)(n) and H_(k)(n)={tilde over (H)}_(k)(n)/σ_(k)(n), the following is derived:

${y_{k}(n)} = {\underset{\underset{{useful}\mspace{14mu} {signal}}{}}{{H_{m,k}(n)}{W_{m,k}(n)}b_{m,{k{(n)}}}} + \underset{\underset{{co}\text{-}{channel}\mspace{14mu} {interface}}{}}{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{H_{j,k}(n)}{W_{j,u}(n)}{b_{j,u}(n)}}}} + \; {z{\underset{\underset{noise}{}}{\,_{k}(n)}.}}}$

Moreover, let Q_(j,u)(n)=W_(j,u)(n)W_(j,u) ^(H)(n)εC^(P×P), so that the covariance matrix of the co-channel interference plus noise seen by user kεB_(m)(n) on slot n, denoted by R_(m,k)(n), can be expressed as

${R_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{H_{j,k}(n)}{Q_{j,u}(n)}{H_{j,k}^{H}(n)}}}} + {I_{N_{k}}.}}$

Let Q denote the set of all P×P positive semi-definite matrices in C^(P×P). Let Q={Q_(m,k)(n)ε Q, kεB_(m)(n), m=1, . . . , M, n=1, . . . N} indicate the collection of the positive-semidefinite covariance matrices. Q is designed so as to maximize the (instantaneous) weighted system sum-rate. Assuming Gaussian inputs and single-user detection at each mobile, the problem to be solved is as follows:

${\underset{Q}{argmax}{\sum\limits_{n = 1}^{N}{\sum\limits_{m = 1}^{M}{\sum\limits_{k \in {B_{M}{(n)}}}{{\alpha_{k}(n)}\log_{2}{{I_{N_{k}} + {{H_{m,k}(n)}{Q_{m,k}(n)}{H_{m,k}^{H}(n)}{R_{m,k}(n)}^{- 1}}}}}}}}},\mspace{79mu} {{s.t.\mspace{11mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \leq P_{m,\max}},{m = 1},\ldots \mspace{14mu},M,$

where |.| denotes the determinant of its matrix argument, α_(k)(n)>0 is the priority assigned by the scheduler to user k on slot n. If α_(k)(n)=1/(NM), the objective function becomes the network sum-rate (measured in bits/channel-use/slot/cell). More generally, the scheduler may adjust the coefficients {α_(k)(n)} over time to maintain proportional fairness among terminals.

Next, the first-order necessary conditions for the optimal solutions to the above equations, namely the Karush-Kuhn-Tucker (KKT) conditions are discussed. Consider the Lagrangian of the optimization problem dualized with respect to the sum-power constraints and positivity constraints:

${{\Lambda \left( {Q,\lambda} \right)} = {{\sum\limits_{n = 1}^{N}{\sum\limits_{m = 1}^{M}{\sum\limits_{k \in {B_{m}{(n)}}}{\frac{\alpha_{k}(n)}{\ln \; 2}\ln {{I_{N_{k}} + {{H_{m,k}(n)}{Q_{m,k}(n)}{H_{m,k}^{H}(n)}{R_{m,k}(n)}^{- 1}}}}}}}} + {\sum\limits_{m = 1}^{M}{\lambda_{m}\left\lbrack {P_{m,\max} - {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \right\rbrack}} + {\sum\limits_{m = 1}^{M}{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {{Q_{m,k}(n)}{\Delta_{m,k}(n)}} \right)}}}}}},$

where λ=(λ₁, . . . , λ_(M))^(T) is the vector of non-negative Lagrangian multipliers associated to the transmit power constraints and {Δ_(m,k)(n)} are the Lagrangian multipliers associated with the positive semi-definite constraints on {Q_(m,k)(n)}

Also, define the following leakage matrix L_(m,k)(n)εC^(P×P)

${{L_{m,k}(n)} = {\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{\frac{\alpha_{u}(n)}{\ln (2)}{H_{m,u}^{H}(n)}\left( {{R_{j,u}(n)}^{- 1} - \begin{pmatrix} {{R_{j,u}(n)} + {H_{j,u}(n)}} \\ {{Q_{j,u}(n)}{H_{j,u}^{H}(n)}} \end{pmatrix}^{- 1}} \right){H_{m,u}(n)}}}}},$

which accounts for the interference caused by base station m to other co-channel terminals on tone n when serving user kεB_(m)(n). By setting the gradient of Λ(Q,λ) with respect to Q_(m,k)(n) equal to zero, the following set of equalities are obtained:

L _(m,k)(n)+ln 2(λ_(m) I _(P)−Δ_(m,k)(n))=α_(k)(n)H _(m,k) ^(H)(n)(R _(m,k)(n)+H _(m,k)(n)Q _(m,k)(n)H _(m,k) ^(H)(n))⁻¹ H _(m,k)(n), kεB _(m)(n), m=1, . . . , M, n=1, . . . , N

The above equations, along with the sum-power constraints in the prior equation, the positivity constraints and the following complementary slackness conditions:

${{\lambda_{m}\left\lbrack {P_{m,\max} - {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \right\rbrack} = 0},{m = 1},\ldots \mspace{14mu},M,{{{tr}\left( {{Q_{m,k}(n)}{\Delta_{m,k}(n)}} \right)} = 0},{k \in {B_{m}(n)}},{m = 1},{\ldots \mspace{14mu} M},{n = 1},\ldots \mspace{14mu},N,$

form a set of first-order necessary conditions for optimality, namely the KKT conditions.

The precoder matrices can be obtained in a distributed way as follows. The system is initialized with a choice of {Q_(m,k)(n)} using which {L_(m,k)(n)} and {R_(m,k)(n)} are determined. The system implements two loops. In the inner loop the system solves the following convex optimization problem at each base-station m, for a given {L_(m,k)(n)} and {R_(m,k)(n)}:

$\begin{matrix} {{\underset{\{{Q_{m,k}{(n)}}\}}{argmax}{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\begin{bmatrix} {{{\alpha_{k}(n)}\log_{2}{\begin{matrix} {I_{N_{k}} + {{H_{m,k}(n)}{Q_{m,k}(n)}}} \\ {{H_{m,k}^{H}(n)}{R_{m,k}(n)}^{- 1}} \end{matrix}}} -} \\ {{tr}\left( {{L_{m,k}(n)}{Q_{m,k}(n)}} \right)} \end{bmatrix}}}},\mspace{79mu} {{s.t.\mspace{11mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \leq P_{m,\max}},{{Q_{m,k}(n)} \in \overset{\_}{Q}},\mspace{79mu} {\forall{k \in {B_{m}(n)}}},{\forall n}} & \left\lbrack {{problem}\mspace{14mu} 2} \right\rbrack \end{matrix}$

Upon obtaining {Q_(m,k)(n)}, the matrices {R_(m,k)(n)} are updated and the problem [problem 2] is again solved at each base station. The inner loop (for a fixed set of leakage matrices {L_(m,k)(n)}) is repeated till convergence or a maximum number of iteration is achieved. Then the leakage matrices {L_(m,k)(n)} are updated in the outer loop and the inner loop which involves updating {Q_(m,k)(n)} using [problem 2] and {R_(m,k)(n)} is initiated again. The outer loop itself is repeated till convergence or till a maximum number is reached.

In the following, this process is referred to as Iterative Coordinated Linear Precoding (ICLP).

If the coordinated base stations share both user data and channel state information, then they can act as a unique large array with distributed antenna elements and this case is the fully-connected cluster (FCC). An FCC encompassing {tilde over (M)} base stations, each one equipped with {tilde over (P)} transmit antennas and where power pooling across base stations is possible, is mathematically equivalent to a PCC with M=1 and P={tilde over (M)}{tilde over (P)}. For such an FCC the optimal weighted sum rate is obtained using dirty-paper coding (DPC) and can be determined. Applying the ICLP algorithm (to the equivalent PCC model) the system can obtain a locally optimal solution.

For initialization, the system can extend the Maximum Signal-to-Leakage-plus-Noise Ratio (MSLNR) Beamforming to Maximum Signal-to-Leakage-plus-Noise Ratio (MSLNR) precoding. For any user kεB_(m)(n) the precoder or equivalently the covariance matrix can be obtained by maximizing

$\frac{\overset{\overset{{useful}\mspace{14mu} {signal}\mspace{14mu} {strength}\mspace{14mu} {for}\mspace{14mu} {user}\mspace{14mu} k\mspace{14mu} {on}\mspace{14mu} {slot}\mspace{14mu} n}{}}{{tr}\left( {{H_{m,k}(n)}{Q_{m,k}(n)}{H_{m,k}^{H}(n)}} \right)}}{{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}\underset{\underset{{leakage}\mspace{14mu} {to}\mspace{14mu} {user}\mspace{14mu} u\mspace{14mu} {on}\mspace{14mu} {slot}\mspace{14mu} n}{}}{{tr}\left( {{H_{m,u}(n)}{Q_{m,k}(n)}{H_{m,u}^{H}(n)}} \right)}}} + 1}.$

Obtaining Channel State Information:

The design procedures described in the above embodiments need channel estimates at each base station. In frequency division duplex (FDD) systems, each user can first obtain estimates of the (effective) channel matrices using common pilots transmitted by its serving base station as well as the dominant interfering base stations. The system can use a common pilot which can be a reference signal whose form or structure is known in advance to all users. For instance, user k served by base station m can determine estimates of {H_(m,k)(n)} for a few resource slots using common pilots transmitted by base station k on those slots and then interpolate to obtain channel estimates for the remaining slots. Similarly, estimates of {H_(j,k)(n)} corresponding to an interfering base station j can be obtained using common pilots transmitted by base station j. The user should know the slots (or positions in time and/or frequency) where these common pilots are transmitted. For simplicity in channel estimation, the common pilots transmitted by adjacent base stations as well as those transmitted via different antennas of the same base station could be kept orthogonal using non-intersecting positions or via (near) orthogonal spreading sequences. The obtained estimates can then be quantized by the user and reported back to the serving base station via a uplink feedback channel.

On the other hand in time division duplex (TDD) systems channel reciprocity can be exploited. Based on common pilots transmitted by user k, its serving base station m can obtain estimates of {H_(m,k)(n)}. Using the same pilots an interfering base station j can obtain estimates of {H_(j,k)(n)} which it can then quantize and send to base station m.

A key practical problem in coordinated beamforming and scheduling is that of the channel estimates getting outdated. In particular, due to the delay between the time when a set of channel estimates are determined (by users or base stations) and the time when some or all of the users are scheduled for data transmission based on those estimates, henceforth referred to as the scheduling delay, the channels seen by the scheduled users could have significantly changed and consequently the rates assigned to them may not be achievable which can adversely affect the system throughput.

One way to mitigate the aforementioned problem is as follows. The scheduling delay is a function of the backhaul latency associated with the inter-base station signaling as well as the scheduler implementations at the base stations. The average value of the scheduling delay can be tracked by each base station. In FDD systems, each base station can then broadcast its measured value to all the users that can be served by it, once in every several scheduling intervals. Upon receiving this value each user can employ any suitable prediction algorithm to obtain a predicted channel estimates. In particular, suppose the average scheduling delay value is D. Then, user k can first determine estimates of {H_(m,k)(n)},{H_(j,k)(n)}_(j≠m) corresponding to time t and then obtain predicted estimates which are its estimates of channels for time t+D. The user can quantize and feedback these predicted channels. Moreover, the UE can monitor the quality of its prediction over a time window. If it finds that the prediction quality is poor due to its mobility or other factors, it can inform its serving base station which can take appropriate action such as dropping it from the set of users that are served via coordinated beamforming. In TDD systems the prediction can be done by the base station itself. The predicted estimates are then used in the beamforming or precoding design procedure.

The above embodiments address inter-cell interference mitigation in a MISO or MIMO wireless cellular network with universal frequency reuse. Each base station is equipped with multiple transmit antennas and space-division multiple-access (SDMA) is employed to serve multiple co-channel users. The set of beamforming vectors or precoding matrices across a cluster of coordinated cells and resource slots are designed so as to maximize the (instantaneous) weighted system sum-rate subject to per-base-station power constraints.

In a MISO system each user is equipped with a single receive antenna and receives a single data stream from its serving base station. An Iterative Coordinated Beam-Forming (ICBF) algorithm is provided to design the transmit beamforming vectors. The ICBF algorithm can also be applied in an equivalent MISO network model wherein each user is equipped with multiple receive antennas and performs rank-one receive beamforming before detection. Numerical results indicate that the proposed ICBF technique significantly improves throughput with respect to uncoordinated beamforming strategies and achieves a large fraction of capacity. Also, power balancing across multiple resource slots is quite beneficial in a PCC scenario, while providing only marginal gains in an FCC scenario.

In a MIMO system each user may have multiple receive antennas and may receive multiple spatially-multiplexed data streams. An Iterative Coordinated Linear Precoding (ICLP) Algorithm is provided to design the transmit precoding matrices.

The proposed ICBF and ICLP algorithms admit a distributed implementation and are general enough to be used both in a partially-connected cluster (PCC), wherein the coordinated base stations do not share data symbols and optimize their local beams based on the inter-cell channel gains only, and in a fully-connected cluster (FCC), wherein coordinated base stations act as a unique large array with distributed antenna elements. Distributed implementations with reduced signaling among base stations can also be done, and the system works robustly even with imperfect channel knowledge.

The above process enhances a multi-cell wireless network with universal frequency reuse and treats the problem of co-channel interference mitigation in the downlink channel. Assuming that each base station serves multiple single-antenna mobiles via space-division multiple-access (SDMA), the system jointly optimizes the linear beam-vectors or precoding matrices across a set of coordinated cells and resource slots: the objective function to be maximized is the weighted system sum-rate subject to per-base-station power constraints. After deriving the general structure of the optimal beam-vectors, the iterative process solves the Karush-Kuhn-Tucker (KKT) conditions of the non-convex primal problem. Various approaches can be used to choose the initial beam-vectors, one of which maximizes the signal-to-leakage-plus-noise ratio. Simulation results are discussed in the incorporated by reference provisional application to assess the performance of the process. 

1) A method to optimize wireless communication for a plurality of mobile wireless devices, comprising: a. determining a structure for downlink beamforming vectors optimizing the weighted sum-rate across multiple orthogonal resource slots in the time, frequency or code domain; and b. distributing a non-convex optimization exploiting the determined structure over a plurality of base stations. 2) The method of claim 1, wherein the non-convex optimization is responsive to one or more of: a set of channel estimates; user priorities; and maximum transmit power available at each base-station. 3) The method of claim 1, wherein the non-convex optimization utilizes Karush-Kuhn-Tucker (KKT) equations. 4) The method of claim 1, wherein the distributing over the base stations includes providing a small number of channel estimates at each base station and limited message passing among adjacent base stations. 5) The method of claim 1, comprising obtaining channel estimates. 6) The method of claim 1, comprising obtaining predicted channel estimates responsive to an average scheduling delay parameter. 7) The method of claim 1, wherein the mobile wireless device comprises a multiple-input single-output (MISO) system wherein each user is equipped with a single receive antenna and receives a single data stream from its serving base station via space-division multiple-access (SDMA). 8) The method of claim 1, comprising determining the optimal structure of the beamforming vectors optimizing the weighted sum-rate in a MISO system. 9) The method of claim 8, comprising determining a leakage matrix. 10) The method of claim 9, wherein determining a leakage matrix L_(m,k)(n) comprises: ${L_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{P_{j,u}(n)}{G_{m,u}(n)}}}} \in C^{P}}$ where ${P_{j,u}(n)} = \frac{{\alpha_{u}(n)}S\; I\; N\; {R_{j,u}(n)}}{1 + {\sum\limits_{l = 1}^{M}{\sum\limits_{s \in {B_{l}{(n)}}}{{w_{l,s}^{H}(n)}{G_{l,u}(n)}{w_{l,s}(n)}}}}}$ B_(m)(n) is the set of users served by base station m on slot n; N is the total number of orthogonal resource slots; M is the number of coordinated base stations; P is the number of transmit antennas at each base station; w_(m,k)(n)εC^(P) denotes the P-dimensional beam vector used by the base station m to serve user kεB_(m)(n) on slot n; W={w_(m,k)(n), kεB_(m)(n), m=1, . . . , M, n=1, . . . N} indicates the collection of all beam vectors; α_(k)(n)>0 is the priority assigned by the scheduler to user k on slot n; P_(m,max) is the maximum transmit power of base station m; SINR_(m,k)(n) is the signal-to-interference-plus-noise ratio for user k served by base station m on slot n and is given by ${S\; I\; N\; {R_{m,k}(n)}} = \frac{{w_{m,k}^{H}(n)}{G_{m,k}(n)}{w_{m,k}(n)}}{1 + {\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{w_{j,u}^{H}(n)}{G_{j,k}(n)}{w_{j,u}(n)}}}}}$ with  G_(m, k)(n) = h_(m, k)(n)h_(m, k)^(H)(n) ∈ C^(P × P). h_(m,k)(n)εC^(P) is the P-dimensional channel vector between base station j and user k and slot n (which includes small-scale fading, large scale fading and path attenuation) normalized by the standard deviation of the received noise. 11) The method of claim 10, comprising determining ${{i_{m,k}(n)} = {\sum\limits_{l = 1}^{M}{\sum\limits_{\underset{{({l,s})} \neq {({m,k})}}{s \in {B_{l}{(n)}}}}{{w_{l,s}^{H}(n)}{G_{l,k}(n)}{w_{l,s}(n)}}}}},{k \in {B_{m}(n)}},{m = 1},\ldots \mspace{14mu},M,{n = 1},{\ldots \mspace{14mu} {N.}}$ 12) The method of claim 8, comprising determining λ₁, . . . , λ_(M) and {B̂_(m, k)(n; λ_(m)), k ∈ B_(m)(n), n = 1, …  N}   $\mspace{79mu} {{{using}\mspace{14mu} {{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}}^{2}} = \frac{\begin{pmatrix} {{\alpha_{k}(n)}{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}} \\ {{h_{m,k}(n)} - {{\hat{i}}_{m,k}(n)} - 1} \end{pmatrix}^{+}}{{{{h_{m,k}^{H}(n)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}}\mspace{14mu}$ $\mspace{79mu} {{{and}\mspace{14mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\underset{\underset{f_{m}{({n;\lambda_{m}})}}{}}{{{{{\hat{\beta}}_{m,k}\left( {n;\lambda_{m}} \right)}{{\hat{T}}_{m,k}^{\dagger}\left( {n;\lambda_{m}} \right)}{h_{m,k}(n)}}}^{2}}}}} = P_{m,\max}}$ where {circumflex over (T)}_(m,k)(n;λ_(m))={circumflex over (L)}_(m,k)(n;λ_(m))+(λ_(m) ln 2)I_(p), (•)^(†)indicates the pseudo-inverse and x⁺=max{x,0} and where {î_(m,k)(n),{circumflex over (L)}_(m,k)(n)} denotes most recent values of {i_(m,k)(n),L_(m,k)(n)}. 13) The method of claim 8, comprising updating beam vectors as w _(m,k)(n)={circumflex over (β)} _(m,k)(n;λ _(m)){circumflex over (T)} _(m,k) ^(†)(n;λ _(m))h _(m,k)(n). 14) The method of claim 8, comprising choosing an initial feasible set of beam vectors. 15) The method of claim 14, wherein the initial feasible set is selected after splitting power across the available slots. 16) The method of claim 14, comprising performing channel-matched beamforming to select the initial feasible set of beam vectors. 17) The method of claim 14, comprising performing in-cell zero-forcing beamforming to select the initial feasible set of beam vectors. 18) The method of claim 14, comprising performing maximum signal-to-leakage-plus-noise ratio (MSLNR) beamforming to select the initial feasible set of beam vectors. 19) The method of claim 1, comprising providing an equivalent MISO system wherein each mobile user has multiple-receive antennas and performs rank-one receive beamforming before detection. 20) The method of claim 1, wherein the mobile wireless device comprises a multiple-input multiple-output (MIMO) system and wherein each user is equipped with multiple receive antennas and receives multiple data streams from a serving base station via linear precoding. 21) The method of claim 1, comprising determining an optimal structure of the linear precoders in a MIMO system. 22) The method of claim 20, comprising determining a leakage matrix. 23) The method of claim 22, wherein determining a leakage matrix L_(m,k)(n) comprises determining: ${{L_{m,k}(n)} = {\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{\frac{\alpha_{u}(n)}{\ln (2)}{H_{m,u}^{H}(n)}\left( {{R_{j,u}(n)}^{- 1} - \begin{pmatrix} {{R_{j,u}(n)} + {H_{j,u}(n)}} \\ {{Q_{j,u}(n)}{H_{j,u}^{H}(n)}} \end{pmatrix}^{- 1}} \right){H_{m,u}(n)}}}}},\mspace{79mu} {where}$ $\mspace{79mu} {{R_{m,k}(n)} = {{\sum\limits_{j = 1}^{M}{\sum\limits_{\underset{{({j,u})} \neq {({m,k})}}{u \in {B_{j}{(n)}}}}{{H_{j,k}(n)}{Q_{j,u}(n)}{H_{j,k}^{H}(n)}}}} + {I_{N_{k}}.}}}$ B_(m)(n) is the set of users served by base station m on slot n; N is the total number of orthogonal resource slots; M is the number of coordinated base stations; P is the number of transmit antennas at each base station; N_(k) is the number of receive antennas of user k, Q_(j,u)(n)=W_(j,u)(n)W_(j,u) ^(H)(n)εC^(P×P) is a covariance matrix to be optimized; W_(m,k)(n)εC^(P×D) ^(m,k) ^((n)), and 1≦D_(m,k)(n)≦P indicates the number of data stream delivered to user kεB_(m)(n) on slot n by base station m.; Q={Q_(m,k)(n)ε Q, kεB_(m)(n), m=1, . . . , M, n=1, . . . N} indicates the collection of the positive-semidefinite covariance matrices; α_(k)(n)>0 is the priority assigned by the scheduler to user k on slot n; P_(m,max) is the maximum transmit power of base station m; and H_(j,k)(n)εC^(N) ^(k) ^(×P) is the channel matrix between base station j and user k and slot n (which includes small-scale fading, large scale fading and path attenuation) normalized by the standard deviation of the received noise. 24) The method of claim 20, comprising solving a following convex optimization problem at each base-station m, for a given {L_(m,k)(n)} and {R_(m,k)(n)}: ${\underset{\{{Q_{m,k}{(n)}}\}}{argmax}{\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}\begin{bmatrix} {{{\alpha_{k}(n)}\log_{2}{\begin{matrix} {I_{N_{k}} + {{H_{m,k}(n)}{Q_{m,k}(n)}}} \\ {{H_{m,k}^{H}(n)}{R_{m,k}(n)}^{- 1}} \end{matrix}}} -} \\ {{tr}\left( {{L_{m,k}(n)}{Q_{m,k}(n)}} \right)} \end{bmatrix}}}},{{s.t.\mspace{11mu} {\sum\limits_{n = 1}^{N}{\sum\limits_{k \in {B_{m}{(n)}}}{{tr}\left( {Q_{m,k}(n)} \right)}}}} \leq P_{m,\max}},{{Q_{m,k}(n)} \in \overset{\_}{Q}},{\forall{k \in {{B_{m}(n)}{\forall n}}}}$ 25) The method of claim 20, comprising selecting an initial feasible set of positive semi-definite covariance matrices after splitting power across available slots. 26) The method of claim 25, comprising performing Maximum Signal-to-Leakage-plus-Noise Ratio (MSLNR) precoding to select the initial feasible set of positive semi-definite covariance matrices. 27) A communication system, comprising: a. a plurality of mobile devices using linear precoding matrices having a predetermined structure optimal with respect to a weighted sum rate in a multi-cell orthogonal frequency division multiple access (OFDMA) downlink; and b. a plurality of base stations communicating with the mobile devices, all base stations performing a distributed a non-convex optimization exploiting the predetermined structure. 